import Result from "@/common/Result.ts";
import PageVo from "@/common/PageVo.ts";
import SelectVo from "@/common/SelectVo.ts";

export interface BasicApi<V,B,SB> {
    pageAll(sb:SB):Promise<Result<PageVo<V>>>;
    listAll(sb:SB):Promise<Result<Array<V>>>;
    get(sb:SB):Promise<Result<V>>;
    edit(b:B):Promise<Result<V>>;
    editAll(bList:Array<B>):Promise<Result<Array<V>>>;
    deleted(sb:SB):Promise<Result<V>>;
    deletedAll(sbList:Array<SB>):Promise<Result<Array<V>>>;
    option():Promise<Result<Array<SelectVo<string, number,V>>>>
}